#ifndef RBCPCONFIG_H
#define RBCPCONFIG_H

#include "udpsr.hpp"
#define CMD_DELAY_TIME 100000

typedef struct RbcpConfigData
{
	int mIpre;
	 int mIsha;
	 int mIbuf;
	 int mIcomp;
	 int mIdriver;
	 int mVfp;
	 int mVfs;
	 int mVref0;
	 int mVref1;
	 int mVoffset;
	 int mAout;
	 int mTpReg;
	 int mCReg;
	 bool testMode;
	 bool multiHitFilter;
}RbcpConfigData;
class RbcpConfig {
public:
	RbcpConfig();
	RbcpConfig(int, int, int,int, int, int, int, int, int, int, int, int, int);
	~RbcpConfig();
	void IpreConfig();
	void IshaConfig();
	void IbufConfig();
	void IcompConfig();
	void IdriverConfig();
	void VfpConfig();
	void VfsConfig();
	void Vref0Config();
	void Vref1Config();
	void VoffsetConfig();
	void AoutConfig();
	void TpRegConfig();
	void CRegConfig ();
	void start();
	void reset();
	void testModeOn();
	void stop();
	void multiHitFilter();
	void ready();
	void startRealityMode();
	void testModeOff();
	void configCommit();
private:
	UdpSR mUdpSR;
	RbcpConfigData mRbcpConfigData;
};
#endif